package repository;

/**
 * Класс предназначен для хранения параметров репозитория пользователя
 * Параметры репозитория:
 *  1. Максимальный размер репозитория в байтах
 *  2. Максимальный размер файла репозитория в байтах
 * Параметры имеющие значение -1 не учитываются при работе
 * @author Aleksey
 * @version alpha
 */
public class RepositoryParams {

    //Максимальный размер репозитория в байтах
    private long maxSize;
    //Максимальный размер файла репозитория в байтах
    private long maxFileSize;

    
    /**
     * Конструктор без параметров. Значения параметров равны -1
     */
    public RepositoryParams () {
        maxSize=-1;
        maxFileSize=-1;
    }
    
    /**
     * Конструктор копирования
     * @param params параметры репозитория
     */
    public RepositoryParams (RepositoryParams params) {
        maxSize=params.getMaxSize();
        maxFileSize=params.getMaxFileSize();
    }

    /**
     * Конструктор с параметрами
     * @param maxSize максимальный размер репозитория
     * @param maxFileSize максимальный размер файла репозитория
     */
    public RepositoryParams (long maxSize, long maxFileSize) {
        this.maxSize=maxSize;
        this.maxFileSize=maxFileSize;
    }

    /**
     * получить максимальный размер файла репозитория
     * @return размер в байтах
     */
    public long getMaxFileSize () {
        return maxFileSize;
    }

    /**
     * установить максимальный размер файла репозитория
     * @param size размер в байтах
     */
    public void setMaxFileSize (long size) {
        this.maxFileSize = size;
    }

    /**
     * получить максимальный размер репозитория
     * @return максимальный размер репозитория в байтах 
     */
    public long getMaxSize () {
        return maxSize;
    }

    /**
     * установить максимальный размер репозитория
     * @param size размер репозитория в байтах
     */
    public void setMaxSize (long size) {
        this.maxSize = size;
    }

}

